package com.wt.hrentSystem.common.util;

import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

public class FileUpLoadUtils {


    //上传文件，返回文件在项目中的地址
    public String uploadFile(MultipartFile file, String url){
        if (file.isEmpty()) {
            return "0";
        }
        //获取文件后缀名
        String lastName = getExtensionName(file.getOriginalFilename());
        //使用当前毫秒数作为文件名，就不会让文件重复
        String fileName = String.valueOf(System.currentTimeMillis())+"."+lastName;
//        String filePath = System.getProperty("user.dir");
//        System.out.println(filePath+fileName);
//        filePath = filePath+"/src/main/resources/static/upload"+url;
        //将图片存入nginx中
        YmlUtil.loadYml("application.yml");
        String saveLocal = String.valueOf(YmlUtil.getValue("nginx.picLocal"));
        String filePath = saveLocal+url;
//        ServerConfig serverConfig = new ServerConfig();
        String visitPath = url+fileName;
        File dest = new File(filePath + fileName);
        if (!dest.getParentFile().exists()) {
            dest.getParentFile().mkdirs();
        }
        try {
            file.transferTo(dest);
            return visitPath;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

    //删除文件
    public String delFile(String path,String fileName){
        String filePath = System.getProperty("user.dir");
        filePath = filePath+"/src/main/resources/static/upload"+path;
        File file = new File(filePath+fileName);
        System.out.println(filePath+fileName);
        //如果文件路径所对应的文件存在，并且是一个文件，则直接删除
        if(file.exists()&&file.isFile()){
            if(file.delete()){
                System.out.println("删除单个文件"+filePath+fileName+"成功");
                return "删除成功";
            }else{
                System.out.println("删除单个文件"+filePath+fileName+"失败");
                return "删除失败";
            }
        }else{
            System.out.println("文件"+fileName+"不存在");
            return "文件"+fileName+"不存在";
        }
    }

    //获取文件后缀名
    public static String getExtensionName(String filename) {
        if ((filename != null) && (filename.length() > 0)) {
            int dot = filename.lastIndexOf('.');
            if ((dot >-1) && (dot < (filename.length() - 1))) {
                return filename.substring(dot + 1);
            }
        }
        return filename;
    }

}
